package com.vca.common.model.sf;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="cargoDetails对象", description="托寄物信息")
public class CargoDetail implements Serializable {

    private static final long serialVersionUID = -14434546993671634L;

    @ApiModelProperty(value = "货物名称")
    @NotBlank(message = "货物名称不能为空")
    private String name;

    @ApiModelProperty(value = "货物数量")
    private Integer count;

    @ApiModelProperty(value = "货物单位")
    private String unit;

    @ApiModelProperty(value = "订单货物单位重量")
    private Double weight;

    @ApiModelProperty(value = "货物单价")
    private Double amount;

    @ApiModelProperty(value = "货物单价的币别")
    private String currency;

    @ApiModelProperty(value = "原产地国别")
    private String sourceArea;

    @ApiModelProperty(value = "货物产品国检备案编号")
    private String productRecordNo;

    @ApiModelProperty(value = "商品海关备案号")
    private String goodPrepardNo;

    @ApiModelProperty(value = "商品行邮税号")
    private String taxNo;

    @ApiModelProperty(value = "海关编码")
    private String hsCode;

    @ApiModelProperty(value = "商品编号")
    private String goodsCode;

    @ApiModelProperty(value = "货物品牌")
    private String brand;

    @ApiModelProperty(value = "货物规格型号")
    private String specifications;

    @ApiModelProperty(value = "生产厂家")
    private String manufacturer;

    @ApiModelProperty(value = "托寄物毛重")
    private Double shipmentWeight;

    @ApiModelProperty(value = "托寄物长")
    private Double length;

    @ApiModelProperty(value = "托寄物宽")
    private Double width;

    @ApiModelProperty(value = "托寄物高")
    private Double height;

    @ApiModelProperty(value = "托寄物体积")
    private Double volume;

    @ApiModelProperty(value = "托寄物声明价值")
    private Double cargoDeclaredValue;

    @ApiModelProperty(value = "托寄物声明价值币别")
    private String declaredValueDeclaredCurrency;

    @ApiModelProperty(value = "货物id")
    private String cargoId;

    @ApiModelProperty(value = "智能验货标识(1-是,0-否)")
    private Integer intelligentInspection;

    @ApiModelProperty(value = "货物标识码")
    private String snCode;

    @ApiModelProperty(value = "国条码")
    private String stateBarCode;
}
